import model from "./notify.vue"

let notify = {}

notify.install = (vue,
  options = {
    delay: 3000
  }, msg = {
    message: "默认值（稳得一批）"
  }) => {
  vue.prototype.$notify = function (message, opt) {

    options = Object.assign({}, options, opt); //合并对象 后面的覆盖前面的  覆盖 默认值===》options={...options,...opt};

    message = Object.assign({}, msg, message);

    let V = vue.extend(model); //使用基础 Vue 构造器，创建一个“子类”。参数是一个包含组件选项的对象。

    let vm = new V; //new 个实例

    vm.msg = message.message;

    let oDiv = document.createElement("div"); //创建元素 挂载实例

    vm.$mount(oDiv);

    document.body.appendChild(vm.$el); //把当前实例的真实对象 丢到页面

    setTimeout(() => {

      document.body.removeChild(vm.$el); //延迟delay秒 remove当前元素对象

    }, options.delay)
  }
}

export default notify
